package com.wkbb.basic.service;

import com.wkbb.basic.model.YoutuFace;
import com.wkbb.basic.model.YoutuPerson;
import com.wkbb.basic.utils.ImageOfbase64UtilDto;
import com.wkbb.common.base.BaseService;
//import com.wkbb.common.vo.DeviceUserFaceVo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author 邓敬源
 * @version V1.0
 * @interfaceName YouTuService
 * @description TODO
 * @date 2019/7/29 10:52
 */
public interface YouTuService extends BaseService<YoutuPerson> {

    String geYouTuSign() throws Exception;

//    String addPerson(Long orgId, String personId, ImageOfbase64UtilDto imageOfbase64UtilDto, Long accountId, Long userId,String webankAppid,String  webankSecret) throws Exception;

    String addPerson(Long orgId, String personId, ImageOfbase64UtilDto imageOfbase64UtilDto, Long accountId, Long userId);

    String deletePerson(Long orgId, Long userId) throws Exception;

    String addFace(List<ImageOfbase64UtilDto> imageOfbase64UtilDtoList, String personId,Long orgId,Long userId,Integer type,Short similar) throws Exception;

    String deleteFace( String personId,Long orgId) throws Exception;

    String getPersons(Long orgId) throws Exception;

    String getPullFaces(String personId) throws Exception;

    String getFaceIdentify(Long orgId, ImageOfbase64UtilDto imageOfbase64UtilDto) throws Exception;

    String getFaceDetect(ImageOfbase64UtilDto imageOfbase64UtilDto) throws Exception;

    String getFaceCompare(ImageOfbase64UtilDto imageOfbase64UtilDto_a, ImageOfbase64UtilDto imageOfbase64UtilDto_b) throws Exception;

    String addUserFace(ImageOfbase64UtilDto imageOfbase64UtilDto_a, String userCode, Long orgId, Long accountId, Long userId) throws Exception;

    List<YoutuFace> selectFaceByuserCode(Long userId,Long orgId) throws Exception;

    String getSmsCode(String mobile) throws Exception;

    String importUserFace(String picUrl, String personId,Long orgId,Long accountId,Long userId,Boolean flag);

    ArrayList<Object> deletePersonByOrgId(Long orgId);

    ArrayList<Object> deletePersonByAccountId(Long accountId);

    String getFaceIdentifyResult(Long orgId, ImageOfbase64UtilDto imageOfbase64UtilDto) throws Exception;

    Boolean checkHasUploadFace(Long orgId, Long userId);

    String saveUserFace(ImageOfbase64UtilDto imageOfbase64UtilDto_a, String userCode, Long orgId, Long accountId, Long userId,Short similar) throws Exception;

    YoutuPerson getYoutuPerson(Long orgId, Long userId);

    void repairYouTuInfo();

    void repairProYouTuInfo();

    void repairWeBankFace(Long orgId);

    void repairDeleteBoxPerson();

    String changeUrl(String url);

    void repairAddUserFaceAsyn(ImageOfbase64UtilDto imageOfbase64UtilDto, List<YoutuPerson> youtuPersonList, Object orgId);

    List<YoutuPerson> youtuPersonList(Map<String, Object> params);

    void deleteOldPerson(String accountId);

    void repiarFaceLink(String url);

    String deletePersonBypersonId(Long orgId,String personId,String profilesActive);

    String comparePersonId(Long orgId,String profilesActive);

    String getAddUserFaceLog(Long userId,Long orgId);

    String getAddUserFaceRedisKey(Long userId,Long orgId);

    void releaseLockAddUserFace(Long orgId, Long userId);

    void deleteYouTuFace(String personId);

    void updateYouTuFace(Long userId,Long orgId,String personId,String url,Integer type, Short similar);

   // List<DeviceUserFaceVo>  getFaceListByOrgAndUser(Long orgId, Long userId);
}